AutoIt operates in one of three "Window matching" modes. The modes are set with the AutoItSetOption function using the WinTitleMatchMode option.
Mode 1 (default)
Matches partial titles from the start.
In this mode the a window titled Untitled - Notepad would be matched by "Untitled - Notepad", "Untitled", "Un", etc.
e.g.
WinWait("Untitled")
Mode 2
Matches any substring in the title.
In this mode a window titled Untitled - Notepad would be matched by "Untitled - Notepad", "Untitled", "Notepad", "pad", etc.
e.g.
WinWait("Notepad")
Mode 3
Exact title match.
In this mode a window titled Untitled - Notepad would only be matched by "Untitled - Notepad"
Mode 4
Advanced mode.
See Advanced Window Descriptions.
Mode -1 to -4
Force lower case match according to other type of match.
A special description can be used as the window title parameter. This description can be used to identify a window by the following properties:
One or more properties are used in the title parameter of a window command in the format:
[PROPERTY1:Value1; PROPERTY2:Value2]
e.g. Wait a window of classname "Notepad"
WinWaitActive("[CLASS:Notepad]", "")
e.g. Close the currently active window
WinClose("[ACTIVE]", "")
e.g. Wait for the 2nd instance of a window with title "My Window" and classname "My Class"
WinWaitActive("[TITLE:My Window; CLASS:My Class; INSTANCE:2]", "")
The variant datatype in AutoIt natively supports window handles (HWNDs). A window handle is a special value that windows assigns to a window each time it is created. When you have a handle you may use it in place of the title parameter in any of the function calls that use the title/text convention. The advantage of using window handles is that if you have multiple copies of an application open - which have the same title/text - you can uniquely identify them when using handles. When you use a window handle for the title parameter then the text parameter is completely ignored.
Various functions such as WinGetHandle, WinList and GUICreate return these handles. It is important to note that a window handle is not classed as a number or string - it is its own special type.
Note: Window handles will work no matter what WinTitleMatchMode is currently in use.
Example
$handle = WinGetHandle("Untitled - Notepad", "")
WinClose($handle)